#ifndef TYPE_DEF_H
#define TYPE_DEF_H

#define _DEVICE_ONLY_ __device__
#define _HOST_ONLY_ __device__
#define _HOST_DEVICE_ __device__ __host__
#define _GLOBAL_ __global__


#define SAFE_DELETE(x) if(x)\
						{	\
							delete x;\
							x = NULL;\
						}

#define SAFE_DELETE_ARRAY(x) if(x)\
						{	\
							delete[] x;\
							x = NULL;\
						}

#define SAFE_FREE(x) if(x)\
						{	\
							free(x);\
							x = NULL;\
						}

#define SAFE_FREE_CUDA(x) if(x)\
						{	\
							cudaFree(x);\
							x = NULL;\
						}

#define InvalidRasterMark 0xffff
					
							
#endif